ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb2[16], immediateIndexed
dcl_constantbuffer cb5[91], immediateIndexed
dcl_constantbuffer cb1[16], immediateIndexed
dcl_constantbuffer cb3[59], immediateIndexed
dcl_sampler s4, mode_default
dcl_sampler s6, mode_default
dcl_sampler s9, mode_default
dcl_sampler s10, mode_default
dcl_sampler s11, mode_default
dcl_sampler s13, mode_default
dcl_sampler s14, mode_default
dcl_sampler s15, mode_default
dcl_resource_texture2dms(0) (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2dms(0) (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2d (float,float,float,float) t9
dcl_resource_texture2d (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texture2d (float,float,float,float) t13
dcl_resource_texture2d (float,float,float,float) t14
dcl_resource_texture2d (float,float,float,float) t15
dcl_input_ps linear v1.xyw
dcl_input_ps constant v4.xyzw
dcl_input_ps constant v5.xyzw
dcl_input_ps constant v6.xyzw
dcl_input_ps constant v7.xyzw
dcl_input_ps constant v8.xyzw
dcl_input_ps constant v9.xyzw
dcl_input_ps constant v10.xyzw
dcl_input_ps constant v11.xyzw
dcl_input_ps constant v12.xyzw
dcl_input_ps constant v13.xyw
dcl_input_ps constant v14.w
dcl_output o0.xyzw
dcl_temps 16
mul r0.xy, v1.xyxx, cb2[15].xyxx
round_z r0.xy, r0.xyxx
ftoi r0.xy, r0.xyxx
mov r0.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(float,float,float,float) r0.x, r0.xyzw, t3.xyzw, l(0)
add r0.y, -r0.x, cb5[0].w
add r0.y, r0.y, l(1.000000e+000)
div r0.y, cb5[0].z, r0.y
lt r0.z, cb5[30].y, r0.y
and r0.z, r0.z, l(0x3f800000)
lt r0.w, r0.y, cb5[30].y
and r0.z, r0.z, r0.w
ne r0.z, l(0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000), r0.z
and r0.z, r0.z, l(0x3f800000)
sample_indexable(texture2d)(float,float,float,float) r0.w, v1.xyxx, t6.yzwx, s6
mul r0.w, r0.w, cb5[33].z
mul r0.z, r0.z, r0.w
add r0.w, -cb5[30].z, cb5[30].w
mad r0.z, r0.z, r0.w, cb5[30].z
mad r1.xy, v1.xyxx, cb5[31].xyxx, cb5[31].zwzz
mad r1.zw, v1.xxxy, cb5[32].xxxy, cb5[32].zzzw
sample_indexable(texture2d)(float,float,float,float) r1.xy, r1.xyxx, t13.xyzw, s13
sample_indexable(texture2d)(float,float,float,float) r1.zw, r1.zwzz, t13.zwxy, s13
add r1.xy, r1.xyxx, r1.zwzz
add r1.xy, r1.xyxx, l(-1.000000e+000, -1.000000e+000, 0.000000e+000, 0.000000e+000)
mul r1.xy, r1.xyxx, cb5[33].xyxx
mad r1.xw, r1.xxxy, r0.zzzz, v1.xxxy
mul r0.zw, r1.xxxw, cb2[15].xxxy
round_z r0.zw, r0.zzzw
ftoi r2.xy, r0.zwzz
mov r2.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(float,float,float,float) r2.xyz, r2.xyzw, t5.xyzw, l(0)
sample_indexable(texture2d)(float,float,float,float) r3.xyz, r1.xwxx, t10.xyzw, s10
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r1.xwxx, t4.yzxw, s4, l(0.000000e+000)
eq r0.w, l(1.500000e+002), cb5[3].z
lt r2.w, r0.z, l(1.500000e+000)
and r2.w, r0.w, r2.w
ne r3.w, l(0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000), v10.z
not r2.w, r2.w
and r2.w, r2.w, r3.w
if_nz r2.w
  add r4.xy, v1.xyxx, -v10.xyxx
  mul r4.xy, r4.xyxx, cb5[0].xyxx
  mul r4.xy, r4.xyxx, l(3.000000e+001, 3.000000e+001, 0.000000e+000, 0.000000e+000)
  dp2 r2.w, r4.xyxx, r4.xyxx
  mul r2.w, r2.w, l(5.000000e-001)
  min r2.w, r2.w, l(1.000000e+000)
  div r0.z, cb5[0].z, r0.z
  add r0.z, r0.z, l(-1.000000e+000)
  add r0.z, r0.z, -cb5[0].w
  mad r4.xy, r1.xwxx, l(2.000000e+000, 2.000000e+000, 0.000000e+000, 0.000000e+000), l(-1.000000e+000, -1.000000e+000, 0.000000e+000, 0.000000e+000)
  mul r5.xyzw, -r4.yyyy, v5.xyzw
  mad r4.xyzw, v4.xyzw, r4.xxxx, r5.xyzw
  mad r4.xyzw, v6.xyzw, -r0.zzzz, r4.xyzw
  add r4.xyzw, r4.xyzw, v7.xyzw
  div r4.xyz, r4.xyzx, r4.wwww
  dp3 r3.w, r4.xyzx, r4.xyzx
  rsq r3.w, r3.w
  mul r5.xyz, r3.wwww, r4.xyzx
  max r3.w, v13.y, cb1[15].z
  min r3.w, r3.w, v13.x
  add r4.w, r3.w, -cb1[15].z
  div r4.w, r4.w, r5.z
  ge r6.x, r4.w, l(0.000000e+000)
  lt r6.y, r4.w, l(8.200000e+003)
  and r6.x, r6.y, r6.x
  if_nz r6.x
    mul r4.xyz, r4.xyzx, l(8.100000e-001, 8.100000e-001, 1.000000e+000, 0.000000e+000)
    dp3 r4.x, -r4.xyzx, -r4.xyzx
    sqrt r4.x, r4.x
    mad r4.yz, r5.xxyx, r4.wwww, cb1[15].xxyx
    dp3 r6.x, r5.xyzx, l(1.298980e+001, 7.823300e+001, 3.771900e+001, 0.000000e+000)
    sincos r6.x, null, r6.x
    mul r6.x, r6.x, l(4.375855e+004)
    frc r6.x, r6.x
    add r6.x, r6.x, l(-5.000000e-001)
    eq r6.y, -r0.z, l(1.000000e+000)
    movc r4.x, r6.y, l(8200.000000), r4.x
    add r6.yz, -v12.zzxz, v12.yyyy
    div r6.yw, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r6.yyyz
    mov r7.z, l(0)
    mov r8.xy, r4.yzyy
    mov r8.w, r4.w
    mov r9.x, r4.w
    mov r8.z, r3.w
    mov r9.yzw, l(0,0,6.000000,0.500000)
    mov r10.xyz, l(0,1.000000,0,0)
    loop 
      lt r10.w, l(0.000000e+000), r10.y
      ge r11.x, v13.x, r8.z
      and r10.w, r10.w, r11.x
      ge r11.x, r8.z, v13.y
      and r10.w, r10.w, r11.x
      ilt r11.x, r10.z, l(188)
      and r10.w, r10.w, r11.x
      add r11.x, r8.w, -r9.z
      lt r11.x, r11.x, r4.x
      and r10.w, r10.w, r11.x
      breakc_z r10.w
      add r11.xy, r8.zzzz, -v12.xzxx
      div_sat r10.w, r11.x, r6.z
      mad r10.w, r10.w, l(3.000001e-001), l(9.000000e-001)
      mul_sat r11.x, r6.y, r11.y
      mad r11.y, r11.x, l(-2.000000e+000), l(3.000000e+000)
      mul r11.x, r11.x, r11.x
      mul r11.x, r11.x, r11.y
      min r11.y, r8.z, v12.w
      add r11.y, r11.y, -v12.x
      mul_sat r11.y, r6.w, r11.y
      mad r11.z, r11.y, l(-2.000000e+000), l(3.000000e+000)
      mul r11.y, r11.y, r11.y
      mul r11.y, r11.y, r11.z
      mul r11.x, r11.y, r11.x
      add r11.y, r10.w, v9.w
      add r10.w, -r10.w, v9.w
      mad r12.xyzw, r8.zzzz, l(-2.200000e-001, 0.000000e+000, -2.200000e-001, 0.000000e+000), r8.xyxy
      mad r12.xyzw, cb5[63].yyyy, l(1.000000e+007, 1.000000e+007, 1.000000e+007, 1.000000e+007), r12.xyzw
      mad r12.xyzw, cb3[54].xyzz, l(-2.030000e+003, 6.090000e+003, -4.060000e+003, 0.000000e+000), r12.xyzw
      mul r12.xyzw, r12.xyzw, l(3.333333e-005, 3.333333e-005, 1.562500e-004, 1.562500e-004)
      sample_l_indexable(texture2d)(float,float,float,float) r11.z, r12.xyxx, t7.xyzw, s13, l(0.000000e+000)
      sample_l_indexable(texture2d)(float,float,float,float) r11.w, r12.zwzz, t7.xywz, s13, l(0.000000e+000)
      mul r11.w, r11.w, l(5.500000e-001)
      mad r11.z, r11.z, l(5.000000e-001), r11.w
      mul_sat r11.x, r11.x, r11.z
      add r11.x, r11.x, l(2.500000e-001)
      mad r12.xyz, cb3[54].zzzz, l(-1.020800e+004, 0.000000e+000, -9.570001e+002, 0.000000e+000), r8.xyzx
      mad r13.xyz, cb3[54].zzzz, l(-6.090000e+003, 0.000000e+000, -8.700001e+002, 0.000000e+000), r8.xyzx
      mul r12.xyz, r12.xyzx, v13.wwww
      round_ni r14.xyz, r12.xyzx
      frc r12.xyz, r12.xyzx
      dp2 r11.z, r14.xyxx, l(3.000000e+000, 1.700000e+001, 0.000000e+000, 0.000000e+000)
      add r11.z, r14.z, r11.z
      sincos r11.w, null, r11.z
      mul r11.w, r11.w, l(4.375855e+004)
      frc r11.w, r11.w
      add r14.xyzw, r11.zzzz, l(1.000000e+000, 3.000000e+000, 1.700000e+001, 2.000000e+001)
      sincos r14.xyzw, null, r14.xyzw
      mul r14.xyzw, r14.xyzw, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 4.375855e+004)
      frc r14.xyzw, r14.xyzw
      add r12.w, -r11.w, r14.x
      mad r11.w, r12.z, r12.w, r11.w
      add r15.xyz, r11.zzzz, l(4.000000e+000, 1.800000e+001, 2.100000e+001, 0.000000e+000)
      sincos r15.xyz, null, r15.xyzx
      mul r15.xyz, r15.xyzx, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 0.000000e+000)
      frc r15.xyz, r15.xyzx
      add r15.xyz, -r14.yzwy, r15.xyzx
      mad r14.xyz, r12.zzzz, r15.xyzx, r14.yzwy
      add r12.zw, -r12.xxxy, l(0.000000e+000, 0.000000e+000, 1.000000e+000, 1.000000e+000)
      mul r14.xz, r12.xxxx, r14.xxzx
      mad r11.z, r11.w, r12.z, r14.x
      mad r11.w, r14.y, r12.z, r14.z
      mul r11.w, r12.y, r11.w
      mad r11.z, r11.z, r12.w, r11.w
      mul r7.xyw, r11.zzzz, l(1.000000e+002, 1.000000e+002, 0.000000e+000, 3.400000e-001)
      add r12.xyz, r7.yyzy, r13.xyzx
      mul r12.xyz, r12.xyzx, l(6.666667e-002, 6.666667e-002, 6.666667e-002, 0.000000e+000)
      round_ni r14.xyz, r12.xyzx
      frc r12.xyz, r12.xyzx
      dp2 r11.z, r14.xyxx, l(3.000000e+000, 1.700000e+001, 0.000000e+000, 0.000000e+000)
      add r11.z, r14.z, r11.z
      sincos r11.w, null, r11.z
      mul r11.w, r11.w, l(4.375855e+004)
      frc r11.w, r11.w
      add r14.xyzw, r11.zzzz, l(1.000000e+000, 3.000000e+000, 1.700000e+001, 2.000000e+001)
      sincos r14.xyzw, null, r14.xyzw
      mul r14.xyzw, r14.xyzw, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 4.375855e+004)
      frc r14.xyzw, r14.xyzw
      add r12.w, -r11.w, r14.x
      mad r11.w, r12.z, r12.w, r11.w
      add r15.xyz, r11.zzzz, l(4.000000e+000, 1.800000e+001, 2.100000e+001, 0.000000e+000)
      sincos r15.xyz, null, r15.xyzx
      mul r15.xyz, r15.xyzx, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 0.000000e+000)
      frc r15.xyz, r15.xyzx
      add r15.xyz, -r14.yzwy, r15.xyzx
      mad r14.xyz, r12.zzzz, r15.xyzx, r14.yzwy
      add r12.zw, -r12.xxxy, l(0.000000e+000, 0.000000e+000, 1.000000e+000, 1.000000e+000)
      mul r14.xz, r12.xxxx, r14.xxzx
      mad r11.z, r11.w, r12.z, r14.x
      mad r11.w, r14.y, r12.z, r14.z
      mul r11.w, r12.y, r11.w
      mad r11.z, r11.z, r12.w, r11.w
      add r11.z, -r11.z, l(1.000000e+000)
      mad r7.w, r11.z, l(1.000000e-001), r7.w
      div r12.xyz, r7.xyzx, l(2.000000e+000, 2.000000e+000, 2.000000e+000, 0.000000e+000)
      add r12.xyz, r12.xyzx, r13.xyzx
      mul r12.xyz, r12.xyzx, l(1.111111e-001, 1.111111e-001, 1.111111e-001, 0.000000e+000)
      round_ni r13.xyz, r12.xyzx
      frc r12.xyz, r12.xyzx
      dp2 r7.x, r13.xyxx, l(3.000000e+000, 1.700000e+001, 0.000000e+000, 0.000000e+000)
      add r7.x, r13.z, r7.x
      sincos r7.y, null, r7.x
      mul r7.y, r7.y, l(4.375855e+004)
      frc r7.y, r7.y
      add r13.xyzw, r7.xxxx, l(1.000000e+000, 3.000000e+000, 1.700000e+001, 2.000000e+001)
      sincos r13.xyzw, null, r13.xyzw
      mul r13.xyzw, r13.xyzw, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 4.375855e+004)
      frc r13.xyzw, r13.xyzw
      add r11.z, -r7.y, r13.x
      mad r7.y, r12.z, r11.z, r7.y
      add r14.xyz, r7.xxxx, l(4.000000e+000, 1.800000e+001, 2.100000e+001, 0.000000e+000)
      sincos r14.xyz, null, r14.xyzx
      mul r14.xyz, r14.xyzx, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 0.000000e+000)
      frc r14.xyz, r14.xyzx
      add r14.xyz, -r13.yzwy, r14.xyzx
      mad r13.xyz, r12.zzzz, r14.xyzx, r13.yzwy
      add r11.zw, -r12.xxxy, l(0.000000e+000, 0.000000e+000, 1.000000e+000, 1.000000e+000)
      mul r12.xz, r12.xxxx, r13.xxzx
      mad r7.x, r7.y, r11.z, r12.x
      mad r7.y, r13.y, r11.z, r12.z
      mul r7.y, r12.y, r7.y
      mad r7.x, r7.x, r11.w, r7.y
      mad r7.x, r7.x, l(1.000000e-001), r7.w
      add r7.x, r7.x, l(9.500000e-001)
      mul r7.x, r7.x, r11.x
      mad r7.y, r7.x, l(4.102564e-001), l(-2.000000e-001)
      add r7.w, r10.w, l(-2.000000e-001)
      div_sat r7.y, r7.y, r7.w
      mad r7.y, r7.y, l(-1.190000e+002), r6.x
      add r7.y, r7.y, l(1.250000e+002)
      min r7.y, r7.y, l(2.500000e+001)
      add r7.w, r8.w, l(-3.000000e+004)
      mul_sat r7.w, r7.w, l(-3.333333e-005)
      mad r7.w, r7.w, l(-8.000000e+000), l(9.000000e+000)
      mul r11.x, r7.w, r7.y
      add r11.y, -r10.w, r11.y
      mad r7.x, r7.x, l(4.102564e-001), -r10.w
      div r10.w, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r11.y
      mul_sat r7.x, r7.x, r10.w
      mad r10.w, r7.x, l(-2.000000e+000), l(3.000000e+000)
      mul r7.x, r7.x, r7.x
      mul r7.x, r7.x, r10.w
      mul r7.x, r11.x, r7.x
      mul r7.x, r7.x, l(2.000000e+001)
      add r10.w, r10.y, l(1.000000e-003)
      mul_sat r11.y, r8.w, l(1.666667e-004)
      mad r11.z, r11.y, l(-2.000000e+000), l(3.000000e+000)
      mul r11.y, r11.y, r11.y
      mul r11.y, r11.y, r11.z
      mad r11.y, r11.y, l(-7.000000e-001), l(1.000000e+000)
      mul r12.y, r7.x, r11.y
      ge r7.x, r8.w, r4.x
      div r11.y, r9.y, r9.z
      mul r13.y, r11.y, r12.y
      mul r11.y, r9.y, l(1.000000e-003)
      div r11.y, r11.y, r9.z
      add r13.x, r10.x, r11.y
      add r12.x, r10.x, l(1.000000e-003)
      movc r11.yz, r7.xxxx, r13.xxyx, r12.xxyx
      mul r7.x, r10.w, r11.z
      mad r12.xyz, v11.xyzx, l(1.200000e+002, 1.200000e+002, 1.200000e+002, 0.000000e+000), r8.xyzx
      add r13.xy, r12.zzzz, -v12.xzxx
      div_sat r11.w, r13.x, r6.z
      mad r11.w, r11.w, l(3.000001e-001), l(9.000000e-001)
      mul_sat r12.w, r6.y, r13.y
      mad r13.x, r12.w, l(-2.000000e+000), l(3.000000e+000)
      mul r12.w, r12.w, r12.w
      mul r12.w, r12.w, r13.x
      min r13.x, r12.z, v12.w
      add r13.x, r13.x, -v12.x
      mul_sat r13.x, r6.w, r13.x
      mad r13.y, r13.x, l(-2.000000e+000), l(3.000000e+000)
      mul r13.x, r13.x, r13.x
      mul r13.x, r13.x, r13.y
      mul r12.w, r12.w, r13.x
      add r13.x, -r11.w, v9.w
      mad r14.xyzw, r12.zzzz, l(-2.200000e-001, 0.000000e+000, -2.200000e-001, 0.000000e+000), r12.xyxy
      mad r14.xyzw, cb5[63].yyyy, l(1.000000e+007, 1.000000e+007, 1.000000e+007, 1.000000e+007), r14.xyzw
      mad r14.xyzw, cb3[54].xyzz, l(-2.030000e+003, 6.090000e+003, -4.060000e+003, 0.000000e+000), r14.xyzw
      mul r14.xyzw, r14.xyzw, l(3.333333e-005, 3.333333e-005, 1.562500e-004, 1.562500e-004)
      sample_l_indexable(texture2d)(float,float,float,float) r12.x, r14.xyxx, t7.zxyw, s13, l(0.000000e+000)
      sample_l_indexable(texture2d)(float,float,float,float) r12.y, r14.zwzz, t7.xzyw, s13, l(0.000000e+000)
      mul r12.y, r12.y, l(5.500000e-001)
      mad r12.x, r12.x, l(5.000000e-001), r12.y
      mul_sat r12.x, r12.w, r12.x
      add r12.x, -r13.x, r12.x
      add r11.w, r11.w, r11.w
      div_sat r11.w, r12.x, r11.w
      mad r11.w, -r11.w, l(8.100000e+000), l(1.000000e+000)
      add r11.w, -r9.w, r11.w
      mad r9.w, r7.x, r11.w, r9.w
      mad r10.w, -r10.w, r11.z, l(1.000000e+000)
      mul r7.x, r8.w, r7.x
      mad r7.x, r9.x, r10.w, r7.x
      min r9.x, r7.x, l(7.000000e+003)
      add r10.x, r11.z, r11.y
      mul r7.x, r10.x, l(-1.442695e+000)
      exp r7.x, r7.x
      add r7.x, r7.x, l(-7.500000e-002)
      mul r10.y, r7.x, l(1.081081e+000)
      add r9.y, r4.x, -r8.w
      mad r8.xyz, r5.xyzx, r11.xxxx, r8.xyzx
      mad r8.w, r7.y, r7.w, r8.w
      iadd r10.z, r10.z, l(1)
      mov r9.z, r11.x
    endloop 
    lt r3.w, l(1.000000e-003), r10.x
    if_nz r3.w
      mad r4.xy, r1.xwxx, l(2.000000e+000, -2.000000e+000, 0.000000e+000, 0.000000e+000), l(-1.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000)
      mul r4.xy, r4.xyxx, cb5[0].xyxx
      mul r4.yzw, r4.yyyy, cb1[13].xxyz
      mad r4.xyz, r4.xxxx, cb1[12].xyzx, r4.yzwy
      add r4.xyz, r4.xyzx, -cb1[14].xyzx
      mul r4.xyz, r4.xyzx, l(1.000000e+004, 1.000000e+004, 1.000000e+004, 0.000000e+000)
      dp3 r4.w, r4.xyzx, r4.xyzx
      rsq r6.x, r4.w
      mul r6.xyz, r4.xyzx, r6.xxxx
      add r4.x, r4.w, -cb3[50].x
      max r4.x, r4.x, l(0.000000e+000)
      div r4.y, r4.x, r4.w
      mul r4.y, r4.z, r4.y
      mul r4.z, r4.y, cb3[52].z
      lt r4.y, l(1.000000e-002), |r4.y|
      mul r4.w, r4.z, l(-1.442695e+000)
      exp r4.w, r4.w
      add r4.w, -r4.w, l(1.000000e+000)
      div r4.z, r4.w, r4.z
      movc r4.y, r4.y, r4.z, l(1.000000)
      mul r4.z, r4.x, cb3[51].w
      mul r4.x, r4.x, -cb3[51].z
      mul r4.x, r4.x, l(1.442695e+000)
      exp r4.x, r4.x
      mul r4.y, r4.y, r4.z
      min r4.y, r4.y, l(1.000000e+000)
      mul r4.y, r4.y, l(1.442695e+000)
      exp r4.y, r4.y
      min r4.y, r4.y, l(1.000000e+000)
      add r4.xy, -r4.xyxx, l(1.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000)
      mad r4.y, -r4.y, cb3[52].y, l(1.000000e+000)
      mul r4.y, r4.y, cb3[51].y
      dp3_sat r4.z, r6.xyzx, cb3[53].xyzx
      dp3_sat r4.w, r6.xyzx, cb3[54].xyzx
      log r4.w, r4.w
      mul r4.w, r4.w, cb3[54].w
      exp r4.w, r4.w
      log r4.z, r4.z
      mul r4.z, r4.z, cb3[53].w
      exp r4.z, r4.z
      add r6.xyz, -cb3[56].xyzx, cb3[58].xyzx
      mad r6.xyz, r4.wwww, r6.xyzx, cb3[56].xyzx
      add r7.xyz, -r6.xyzx, cb3[55].xyzx
      mad r6.xyz, r4.zzzz, r7.xyzx, r6.xyzx
      add r6.xyz, r6.xyzx, -cb3[57].xyzx
      mad r4.xzw, r4.xxxx, r6.xxyz, cb3[57].xxyz
      add r6.x, -r4.x, cb3[55].w
      add r6.y, -r4.z, cb3[56].w
      add r6.z, -r4.w, cb3[57].w
      mad r4.xyz, r4.yyyy, r6.xyzx, r4.xzwx
      mad r6.xyz, r4.xyzx, l(2.900000e-001, 2.900000e-001, 2.900000e-001, 0.000000e+000), -v8.xyzx
      mad r6.xyz, r6.xyzx, l(2.400000e-001, 2.400000e-001, 2.400000e-001, 0.000000e+000), v8.xyzx
      mad r7.xyz, r4.xyzx, l(1.100000e+000, 1.100000e+000, 1.100000e+000, 0.000000e+000), -v9.xyzx
      mad r7.xyz, r7.xyzx, l(2.400000e-001, 2.400000e-001, 2.400000e-001, 0.000000e+000), v9.xyzx
      lt r4.w, l(4.900000e+000), v10.w
      lt r6.w, v10.w, l(2.090000e+001)
      and r4.w, r4.w, r6.w
      max r5.w, r5.z, l(1.000000e-001)
      dp3 r5.x, v11.xyzx, r5.xywx
      add r5.x, r5.x, l(-1.000000e+000)
      div r5.x, r5.x, |v11.w|
      dp3 r5.y, r7.xyzx, r7.xyzx
      rsq r5.y, r5.y
      mul r5.yzw, r5.yyyy, r7.xxyz
      mul r5.yzw, r5.yyzw, |v11.wwww|
      mul r8.xy, r5.xxxx, l(4.300000e-001, 5.200000e+001, 0.000000e+000, 0.000000e+000)
      exp r8.xy, r8.xyxx
      mad r5.xyz, r5.yzwy, r8.xxxx, r7.xyzx
      dp3 r5.w, r5.xyzx, r5.xyzx
      rsq r5.w, r5.w
      mul r7.xyz, r5.wwww, r5.xyzx
      mul r7.xyz, r7.xyzx, v14.wwww
      mad r5.xyz, r7.xyzx, r8.yyyy, r5.xyzx
      mov_sat r9.w, r9.w
      mad r5.w, r9.w, l(-2.000000e+000), l(3.000000e+000)
      mul r6.w, r9.w, r9.w
      mul r5.w, r5.w, r6.w
      add r5.xyz, -r6.xyzx, r5.xyzx
      mad r5.xyz, r5.wwww, r5.xyzx, r6.xyzx
      add r4.xyz, r4.xyzx, -r5.xyzx
      mul r4.xyz, r4.xyzx, l(7.700000e-001, 7.700000e-001, 7.700000e-001, 0.000000e+000)
      mul_sat r5.w, r9.x, l(1.265823e-004)
      mad r6.x, r5.w, l(-2.000000e+000), l(3.000000e+000)
      mul r5.w, r5.w, r5.w
      mul r5.w, r5.w, r6.x
      mad r5.xyz, r5.wwww, r4.xyzx, r5.xyzx
      add r4.xy, r9.xxxx, l(-9.000000e+003, -8.200000e+003, 0.000000e+000, 0.000000e+000)
      mul_sat r4.xy, r4.xyxx, l(-1.111111e-004, -8.333334e-004, 0.000000e+000, 0.000000e+000)
      mad r6.xy, r4.xyxx, l(-2.000000e+000, -2.000000e+000, 0.000000e+000, 0.000000e+000), l(3.000000e+000, 3.000000e+000, 0.000000e+000, 0.000000e+000)
      mul r4.xy, r4.xyxx, r4.xyxx
      mul r4.xy, r4.xyxx, r6.xyxx
      mul r4.z, r10.x, r4.x
      dp2 r6.x, v13.xyxx, l(2.200000e-001, 7.800000e-001, 0.000000e+000, 0.000000e+000)
      div r6.x, cb1[15].z, r6.x
      lt r6.y, l(1.000000e+000), r6.x
      rcp r6.z, r6.x
      max r6.z, r6.z, l(6.800000e-001)
      add r6.z, r6.z, l(-1.000000e+000)
      mad r4.x, r4.x, r6.z, l(1.000000e+000)
      mul r7.xyz, r4.xxxx, r5.xyzx
      min r7.w, r6.x, l(1.300000e+000)
      mov r5.w, l(1.000000)
      movc r5.xyzw, r6.yyyy, r7.xyzw, r5.xyzw
      movc r4.x, r4.w, l(1.500000), l(2.700000)
      mul r4.x, r4.x, -r4.z
      mul r4.x, r5.w, r4.x
      exp r4.x, r4.x
      add r4.x, -r4.x, l(1.000000e+000)
      mul r5.w, r4.y, r4.x
    else 
      mov r9.x, l(0.900000)
    endif 
  else 
    mov r9.x, l(0.900000)
    mov r3.w, l(0)
  endif 
  and r4.xyzw, r5.xyzw, r3.wwww
  add r2.w, -r2.w, l(1.000000e+000)
  mad_sat r3.w, r4.w, r2.w, r4.w
  mul r2.w, r2.w, r3.w
  mad r2.w, -r2.w, l(1.250000e+000), l(1.000000e+000)
  max r2.w, r2.w, l(0.000000e+000)
  lt r0.x, l(1.200000e-001), r0.x
  and r0.x, r0.w, r0.x
  mul_sat r0.w, r0.z, l(-2.700000e+004)
  add r5.xyz, r0.wwww, r2.xyzx
  dp3 r0.w, r5.xyzx, l(3.333330e-001, 3.333330e-001, 3.333330e-001, 0.000000e+000)
  lt r0.w, r0.w, l(5.700000e-001)
  and r0.x, r0.w, r0.x
  lt r0.zw, -r0.zzzz, l(0.000000e+000, 0.000000e+000, 1.400000e-004, 1.000000e-007)
  and r0.x, r0.z, r0.x
  mad r0.z, v8.w, -r3.w, r3.w
  movc r0.x, r0.x, r0.z, r3.w
  add r0.z, v12.z, v12.y
  mul r0.z, r0.z, l(5.000000e-001)
  lt r0.z, cb1[15].z, r0.z
  and r0.z, r0.w, r0.z
  if_nz r0.z
    mad r0.zw, -cb5[74].xxxy, l(0.000000e+000, 0.000000e+000, 1.900000e-003, 1.900000e-003), r1.xxxw
    sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t14.xyzw, s14, l(0.000000e+000)
    mad r1.yz, cb5[74].yyxy, l(0.000000e+000, 1.900000e-003, 1.900000e-003, 0.000000e+000), r1.wwxw
    sample_l_indexable(texture2d)(float,float,float,float) r0.w, r1.xyxx, t14.xywz, s14, l(0.000000e+000)
    add r1.y, r0.w, r0.z
    sample_l_indexable(texture2d)(float,float,float,float) r1.z, r1.zwzz, t14.xyzw, s14, l(0.000000e+000)
    mad r5.xy, cb5[74].xyxx, l(1.900000e-003, 1.900000e-003, 0.000000e+000, 0.000000e+000), r1.xwxx
    sample_l_indexable(texture2d)(float,float,float,float) r3.w, r5.xyxx, t14.xywz, s14, l(0.000000e+000)
    add r4.w, r1.z, r3.w
    add r0.z, r0.z, r1.z
    add r0.w, r0.w, r3.w
    add r1.y, r1.y, -r4.w
    add r0.z, -r0.w, r0.z
    min r0.z, |r1.y|, |r0.z|
    add r5.xy, r1.xwxx, -v10.xyxx
    div r0.w, cb5[72].x, cb5[72].y
    mul r5.z, r0.w, r5.y
    dp2 r0.w, r5.xzxx, r5.xzxx
    mul r0.w, r0.w, r0.w
    mul r0.w, r0.w, r0.w
    mul r0.w, r0.w, l(1.000000e+003)
    min r0.w, r0.w, l(1.000000e+000)
    mul r0.z, r0.w, r0.z
    lt r0.z, l(1.000000e-004), r0.z
    add r1.y, r9.x, l(-4.000000e+003)
    mul_sat r1.y, r1.y, l(-2.500000e-004)
    mad r1.z, r1.y, l(-2.000000e+000), l(3.000000e+000)
    mul r1.y, r1.y, r1.y
    mul r1.y, r1.y, r1.z
    mad r1.y, r1.y, l(-3.000000e-001), l(9.000000e-001)
    movc r0.z, r0.z, r1.y, l(1.000000)
    sample_l_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r1.y, r1.xwxx, t4.yxzw, s4, l(0.000000e+000)
    sample_l_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r1.z, r1.xwxx, t4.yzxw, s4, l(0.000000e+000)
    add r1.y, r1.z, r1.y
    sample_l_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r1.z, r1.xwxx, t4.yzxw, s4, l(0.000000e+000)
    add r1.y, r1.z, r1.y
    sample_l_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r1.z, r1.xwxx, t4.yzxw, s4, l(0.000000e+000)
    add r1.y, r1.z, r1.y
    mul r1.y, r1.y, l(2.500000e-001)
    div r1.y, cb5[0].z, r1.y
    add r1.y, r1.y, -cb5[0].w
    add r1.y, r1.y, l(-1.000000e+000)
    lt r1.z, -r1.y, l(1.600000e-004)
    ge r1.y, -r1.y, l(1.000000e-007)
    and r1.y, r1.y, r1.z
    movc r0.z, r1.y, l(0.990000), r0.z
    mul r4.xyz, r0.zzzz, r4.xyzx
    mul r0.z, v1.w, v8.w
    lt r0.z, r2.z, r0.z
    mul r1.y, r0.x, l(6.000000e-002)
    movc r0.z, r0.z, r1.y, r0.x
    lt r1.y, cb1[15].z, v13.y
    lt r1.z, v8.w, l(9.000000e-002)
    movc r1.z, r1.z, l(190.000000), l(0.900000)
    max r3.w, r3.z, r3.y
    max r3.w, r3.w, r3.x
    mul_sat r1.z, r1.z, r3.w
    mul r0.w, r0.w, l(9.900000e+001)
    min r0.w, r0.w, l(1.000000e+000)
    mul r0.w, r0.w, r1.z
    mul r0.w, r0.w, r0.z
    mad r0.w, r0.w, l(-8.800000e-001), r0.z
    movc r0.x, r1.y, r0.w, r0.z
  endif 
  mov_sat r0.x, r0.x
  add r4.xyz, -r2.xyzx, r4.xyzx
  mad r2.xyz, r0.xxxx, r4.xyzx, r2.xyzx
else 
  mov r2.w, l(1.000000)
endif 
mul r0.xzw, r2.xxyz, cb2[14].wwww
lt r1.y, l(0.000000e+000), cb5[90].w
if_z r1.y
  mad r4.xyzw, cb5[72].xyxy, l(-1.000000e+000, -5.000000e-001, 5.000000e-001, -1.000000e+000), r1.xwxw
  sample_indexable(texture2d)(float,float,float,float) r2.xyz, r4.xyxx, t4.xyzw, s4
  sample_indexable(texture2d)(float,float,float,float) r5.xyz, r4.zwzz, t4.xyzw, s4
  mad r6.xyzw, cb5[72].xyxy, l(-5.000000e-001, 1.000000e+000, 1.000000e+000, 5.000000e-001), r1.xwxw
  sample_indexable(texture2d)(float,float,float,float) r7.xyz, r6.xyxx, t4.xyzw, s4
  sample_indexable(texture2d)(float,float,float,float) r8.xyz, r6.zwzz, t4.xyzw, s4
  sample_indexable(texture2d)(float,float,float,float) r9.xyz, r1.xwxx, t4.xyzw, s4
  add r2.xyz, r2.xyzx, r5.xyzx
  add r2.xyz, r7.xyzx, r2.xyzx
  add r2.xyz, r8.xyzx, r2.xyzx
  mul r5.xyz, r9.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000)
  mad r2.xyz, r9.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000), r2.xyzx
  sample_indexable(texture2d)(float,float,float,float) r7.xyz, r4.xyxx, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r8.xyz, r6.xyxx, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r6.xyz, r6.zwzz, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r9.xyz, r1.xwxx, t9.xyzw, s9
  add r4.xyz, r4.xyzx, r7.xyzx
  add r4.xyz, r8.xyzx, r4.xyzx
  add r4.xyz, r6.xyzx, r4.xyzx
  mad r4.xyz, r9.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000), r4.xyzx
  mad r5.xyz, r9.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000), r5.xyzx
  mul r2.xyz, r2.xyzx, l(1.111111e-001, 1.111111e-001, 1.111111e-001, 0.000000e+000)
  mad r2.xyz, r4.xyzx, l(1.111111e-001, 1.111111e-001, 1.111111e-001, 0.000000e+000), r2.xyzx
  ne r1.y, l(0.000000e+000), cb5[4].x
  movc r4.xyz, r1.yyyy, r9.xyzx, r5.xyzx
  movc r2.xyz, r1.yyyy, r9.xyzx, r2.xyzx
  add r1.yz, r0.yyyy, -cb5[3].xxzx
  mul_sat r0.y, r1.z, cb5[3].w
  mad_sat r1.y, -r1.y, cb5[3].y, l(1.000000e+000)
  max r0.y, r0.y, r1.y
  mad_sat r5.xyz, r0.yyyy, l(-2.004008e+000, -2.004008e+000, -1.000000e+003, 0.000000e+000), l(1.000000e+000, 2.002004e+000, 1.000000e+003, 0.000000e+000)
  add r0.y, -r5.x, l(1.000000e+000)
  min r0.y, r0.y, r5.y
  add r1.y, r0.y, r5.x
  add r1.z, -r1.y, l(1.000000e+000)
  min r1.z, r1.z, r5.z
  add r1.y, r1.y, r1.z
  add r1.y, -r1.y, l(1.000000e+000)
  mul r5.yzw, r0.yyyy, r9.xxyz
  mad r5.xyz, r0.xzwx, r5.xxxx, r5.yzwy
  mad r4.xyz, r4.xyzx, r1.zzzz, r5.xyzx
  mad r0.xzw, r2.xxyz, r1.yyyy, r4.xxyz
endif 
movc r0.y, cb5[89].z, l(1), l(0)
if_nz r0.y
  sample_indexable(texture2d)(float,float,float,float) r4.xyzw, r1.xwxx, t11.xyzw, s11
  add r2.xyz, -r0.xzwx, r4.xyzx
  mad r0.xzw, r4.wwww, r2.xxyz, r0.xxzw
else 
  mov r4.xyzw, l(0,0,0,0)
endif 
sample_indexable(texture2d)(float,float,float,float) r2.xyz, v1.xyxx, t14.xyzw, s14
add r4.xyz, r4.xyzx, -r2.xyzx
mad r4.xyz, r4.wwww, r4.xyzx, r2.xyzx
movc r2.xyz, cb5[89].zzzz, r4.xyzx, r2.xyzx
add r2.xyz, -r0.xzwx, r2.xyzx
mad r0.xyz, cb5[64].xxxx, r2.xyzx, r0.xzwx
mul r2.xyz, r2.wwww, r3.xyzx
mul r2.xyz, r2.xyzx, v1.wwww
lt r0.w, l(0.000000e+000), cb5[75].z
if_nz r0.w
  sample_indexable(texture2d)(float,float,float,float) r0.w, r1.xwxx, t15.yzwx, s15
  mul r0.w, r0.w, r0.w
  mul r0.w, r0.w, r0.w
  mul r0.w, r0.w, r0.w
  mad r0.xyz, cb5[46].xyzx, r0.wwww, r0.xyzx
endif 
mul r1.xyz, r2.xyzx, cb5[7].yyyy
mad o0.xyz, r1.xyzx, l(2.500000e-001, 2.500000e-001, 2.500000e-001, 0.000000e+000), r0.xyzx
mov o0.w, l(1.000000)
ret